In local area networks where users share a common communication medium, broadcasting or multicasting to transmit the same information to all or a specified set of users is straightforward. Such capabilities are typically not available in existing wide area packet switching networks. As network bandwidths increase significantly, multicast applications including simulcast (voice/video one-way broadcast), multi-destination file transfer, distributed database update, and various kinds of multimedia, multi-party teleconferences will become more widespread. To implement multicasting in conventional point-to-point packet switching networks, packet duplication is done in the software session layer. This is inefficient due to the large processing overhead required to duplicate packets at packet source stations and to transmit each of the duplicated packets individually through the network. Uneven end-to-end transmission delays that are likely in such an arrangement are unacceptable for interactive multi-party teleconferences. In addition, performance degrades rapidly as the number of participants increases.
Multicast applications can be provided more efficiently in hardware via high-speed networks of multicast packet switches. A multicast packet switch is capable of duplicating an incoming packet and routing the copies to desired output ports simultaneously. It is not necessary to transmit duplicate packets from end to end through a network of such switches. Rather only a single packet is transmitted on any inter-switch link and duplication is required only for transmission to destinations via different links. A multicast connection is established among a plurality of communication endpoints, e.g., user stations or network interfaces to such stations, by transmitting a call setup packet through the network. Along the way, logical channel numbers are assigned and network memories are updated such that future packets need not include full destination information.
The desired sending/receiving relationship among the endpoints involved in a conference multicast connection may be represented by a transmission matrix. As multicast applications become more diverse, it is anticipated that multicast connections will be required to provide a wide range of connectivity among user stations. Such connectivity may be highly selective. For example, in a conference involving four participants A, B, C, and D, A may be allowed to transmit to B, C, and D, while B is allowed to transmit to A and C only, C to A and B only, and D to A only. The transmission matrix for this example is shown in FIG. 1c. It may also be necessary, particularly in voice or video applications, to make sure that packets are delivered by the network in the proper sequence.
Accordingly, two significant requirements in conferencing applications are that: 1) a multicast connection must provide connectivity in accordance with a specified transmission matrix, and 2) the multicast connection must deliver packets to endpoints meeting a packet sequencing condition. Unfortunately, a multicast connection in an arbitrary network of multicast packet switches may, in general, fail to meet one or both of these requirements.